Traditionally the task of organizing the data on a storage medium such as a rotating disk memory has been played by the file system of a host processor. While system-level software has a theoretical advantage in taking advantage of global information, some barriers to optimization remain. Files are individually optimized to be in localized address ranges, but global load balancing or file system placement is often left to system administrators, perhaps aided by tools such as the OSF Logical Volume Manager which rearrange the low-level structure of a disk. In addition, new disk interfaces such as SCSI-II (Small Computer System Interface II) present an abstract disk model, making it more and more difficult for the file system to make these kind of decisions.
It is the teaching of the prior art that the file system (whether part of an operating system, a database system, or some other application) has more information on the global system state than the controller, and that it is this information that should be used to improve choices about scheduling, data placement, caching, and prefetch policies. The 4.2BSD file system (McKusick84), for example takes advantage of global information, but lacks the knowledge of current disk structure to handle non-rectangular disks. Such systems lack the advantages of fine-grained control and improved knowledge of disk performance characteristics available at the controller level.
Being removed from the disk and disk controller, the host processor is less able to determine optimal data layouts than the disk controller. The host processor lacks the knowledge of disk geometry and performance characteristics that is present as a natural part of controller design and is vital for correct decisions on data layout. Under present interface standards this knowledge can be communicated to the host processor only with great difficulty. Detailed knowledge of the current disk state (including the current head position) that is important for scheduling decisions in allocating disk resources, is more naturally available to the controller. Despite this, it is the teaching of the prior art to use the file system of a host processor to make scheduling and data placement decisions.